
def user_info(name,age,gender):
    print(f"姓名：{name},年龄:{age},性别：{gender}")

#位置传参
user_info("郑金贵",29,"男")

# user_info("郑金贵","女",29)
#关键字传参
user_info(age=29,gender="男",name="吴彦祖")#关键字传参不需要顺序

user_info("全智贤",age=30,gender="女")
# user_info(age=30,"全智贤",gender="女")#混用的时候顺序不能乱

#缺省参数
#设置的默认值必须在最后一个参数
# user_info1(name,age=18,gender='男')       #这样可以
# user_info1(name,age=18,gender)            #这样不行
def user_info1(name,age,gender='男'):#赋值一个默认参数，如果gender不传入，则默认"男"，如果传入，则按传入的处理
    print(f"姓名：{name},年龄:{age},性别：{gender}")

user_info1("郑金贵",29,"女")
user_info1("郑金贵",29)

#不定长参数
#不定长->位置不定长，*
#不定长参数作为元组形式参数寻在，接收不定长数量的参数传入

def user_info3(*arg):
    print(f"arg的类型是:{type(arg)},arg的内容是:{arg}")

user_info3(1,2,3,"haha")

#不定长 - 关键字不定长,**
def user_info4(**kwarg):
    print(f"arg的类型是:{type(kwarg)},arg的内容是:{kwarg}")
user_info4(name="郑金贵",age=29,gender="男")
